import pymysql


class dbUtil:
    __conn=None
    __cur=None
#打开链接
    @classmethod
    def get_conn(cls,user=None, password=None,host=None,database=None,port=3306):
        if cls.__conn is None:  #判断是否有连接数据库，如果没有，重新获取连接，如果有返回连接
            cls.__conn = pymysql.connect(user=user,password=password,port=port, host=host,database=database)
        return  cls.__conn
#查询
    @classmethod
    def db_query(cls,sql):
        #创建游标
        cls.__cur=cls.__conn.cursor()
        # 执行sql语句
        cls.__cur.execute(sql)
        # 获取结果
        results = cls.__cur.fetchall()
        # 关闭连接
        cls.__close_conn()
        return results
#增删改
    @classmethod
    def db_iud(cls,sql):
        # 创建游标
        cls.__cur = cls.__conn.cursor()
        # 执行sql语句
        cls.__cur.execute(sql)
        # 获取结果
        cls.__conn.commit()
        # 关闭连接  调用关闭的方法
        cls.__close_conn()
        #这个代码还没完
#关闭
    @classmethod
    def __close_conn(cls):
        if   cls.__cur is not None and  cls.__conn is not None:
            cls.__cur.close()  #关闭游标对象
            cls.__conn.close()   #关闭连接对象
            cls.__conn=None    #关闭之后重新赋值为空

dbUtil.get_conn("root","123456","localhost","myschools")
res=dbUtil.db_query("select * from students order by age desc")
dbUtil.get_conn("root","123456","localhost","myschools")
res1=dbUtil.db_query("select * from students")
print(res)
print(res1)
